package com.trkj.base.utils;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;

import java.io.ByteArrayOutputStream;

/**
 * Created by LiZanhong on 2015/06/26.
 */
public class Base64String {
    /**
     * 将字符串转换成Bitmap类型
     *
     * @param string
     * @return
     */
    public Bitmap stringToBitmap(String string) {
        if(string == null) return null;
        Bitmap bitmap = null;
        try {
            byte[] bitmapArray;
            bitmapArray = Base64.decode(string, Base64.DEFAULT);
            bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return bitmap;
    }


    /**
     * 将Bitmap转换成字符串
     *
     * @param bitmap
     * @return
     */
    public String bitmapToString(Bitmap bitmap) {
        if(bitmap == null) return null;
        String string = null;
        ByteArrayOutputStream bStream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, bStream);
        byte[] bytes = bStream.toByteArray();
        string = Base64.encodeToString(bytes, Base64.DEFAULT);

        /*
            特别注意：用HttpsURLConnection客户端上传符号'+'（2B%）时，
            服务端接收到是‘ ’（空格20%），所以需要
            使用string.replace("+", "%2B")处理
         */
        return string.replace("+", "%2B");
    }


}
